#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=15;
int main()
{
    int n,arr[maxn][maxn];
    int i,j,k;
    while(~printf("请输入螺旋矩阵的矩阵大小n：\n"))
    {
        memset(arr,0,sizeof(arr));
        scanf("%d",&n);
        int start=1;
        int temp=n;
        i=0;
        j=0;
        for(k=0; k<n/2; k++)//n阶矩阵可以画n/2个圈
        {
            for(; j<temp-1; j++)
                arr[i][j]=start++;
            for(; i<temp-1; i++)
                arr[i][j]=start++;
            for(; j>k; j--)
                arr[i][j]=start++;
            for(; i>k; i--)
                arr[i][j]=start++;
            //进入下一圈
            i++;
            j++;
            temp--;
        }
        if(n%2==1)//若n为奇数，中间那个数遍历不到，单独赋值
            arr[i][j]=start++;
        for(i=0; i<n; i++)
        {
            for(j=0; j<n; j++)
                printf("%3d ",arr[i][j]);//固定输出宽度
            printf("\n");
        }
        printf("继续操作请输入1，退出操作请输入0：\n");
        int f;
        scanf("%d",&f);
        if(f==0)
            break;
    }
    return 0;
}